# 什么是接口关联
# 接口关联就是接口之间存在参数联系或者依赖
# 上一个接口返回的数据结果作为下一个接口的参数

import requests

# 常见的场景:
# 请求登录接口后获取token值，后续的请求中将token值传入做为参数传入
# 再比如下单 支付场景，先调用下单接口生成订单号，然后再把订单号传给支付接口进行支付
# 注意：有关联的接口肯定有先后调用顺序

# 第一个接口数据的提取
# 第二个接口数据的传递

# 根据结果，我们提取数据
# 当返回结果为字符串，我们用正则表达式来提取
# 第一个接口返回结果为json数据，我们先转化为字典，然后用键来提取值的方式来获取

# 练习题
# 接口地址http://127.0.0.1:8000/get_html
# 请求方式get
# 返回数据html/text
# r = requests.get("http://127.0.0.1:8000/get_html")
# print(r.text)
# 把"王大锤"提取出来
# 用正则表达式提取出来
# res = re.findall("用户名是(.+?)，",r.text)
# print(res)
# print(res[0])

# 接口地址http://127.0.0.1:8000/get_json
# 请求方式get
# 返回数据json
# r = requests.get("http://127.0.0.1:8000/get_json")
# print(r.json())
# print(r.json()["喜欢吃"])
# w = r.json()["喜欢吃"]
# 数据的传递
# 接口地址http://127.0.0.1:8000/buy
# 请求方式post 请求类型 form
# 返回数据text
# dictA = {"item":w}
# u = requests.post("http://127.0.0.1:8000/buy",data=dictA)
# print(u.text)

# 练习题
# 接口地址 url= "http://127.0.0.1:8000/like"
# 请求数据类型get
# 取出喜欢吃的水果
# r = requests.get("http://127.0.0.1:8000/like")
# w = r.json()["想吃"]
# print(w)
# 接口地址 url= "http://127.0.0.1:8000/buy"
# 请求数据类型post  返回数据类型form
# 请求数据
# dictA = {"item":w}
# u = requests.post("http://127.0.0.1:8000/buy",data=dictA)
# print(u.text)

# 练习题
# 接口地址url = "http://127.0.0.1:8000/love"
# 请求类型 post 数据类型 form 返回text文本
# dictA = {
#     "name": "蜘蛛侠",
#     "hobby": "打篮球",
#     "lover": "露丝"
# }
# 把喜欢的人提取出来传给第二个接口
# r = requests.post("http://127.0.0.1:8000/love",data=dictA)
# print(r.text)
# res = re.findall("喜欢的人是(.+?)，",r.text)
# print(res)
# 第二个接口地址url2 = "http://127.0.0.1:8000/date"
# 请求类型 post 数据类型 form 返回 text文本
# dictA = {"name": res}
# u = requests.post("http://127.0.0.1:8000/date",data=dictA)
# print(u.text)

# 练习题
# 参数为表单
# dictA = {
#     "login_info": "wzt",
#     "password": "123456"
# }
# url = "https://shop.aircheng.com/simple/login_act"
# post请求
# 返回 html
# s = requests.Session()
# r = s.post(url=url,data=dictA)
# print(r.text)
# assert "我的订单" in r.text
# 查看订单接口地址
# url = "https://shop.aircheng.com/ucenter/order"
# get请求
# 返回 html
# u = s.get("https://shop.aircheng.com/ucenter/order")
# print(u.text)
# assert "等待付款" in u.text

# 请求地址 url = http://192.168.118.248:8000/my_name
# 请求数据
# 返回text
# dictA = {"name":"吴贞廷"}
# r = requests.post("http://192.168.110.248:8000/my_name",data=dictA)
# print(r.text)



